#include <iostream>
#include <vector>
using namespace std;

vector<int> answer;
long int total=0;
int a[10]={1,1,1,1,1,1,1,1,1,1};

void func(int sign,int n){
	if(sign==9){
		if(n<1||n>3)return;
		a[sign]=n;
		for(int i=0;i<10;i++){
			answer.push_back(a[i]);
		}
		total+=1;
		return;
	}
	a[sign]=1;
	if(n-1<9-sign)return;
	else func(sign+1,n-1);

	a[sign]=2;
	if(n-2<9-sign)return;
	else func(sign+1,n-2);
	
	a[sign]=3;
	if(n-3<9-sign)return;
	else func(sign+1,n-3);
}
int main(void){
	int n;
	cin>>n;
	if(n<10&&n>30){
		cout<<0;
		return 0;
	}
	func(0,n);
	cout<<total<<endl;
	for(long int i=0;i<answer.size();i++){
		cout<<answer[i];
		if((i+1)%10!=0)putchar(' ');else putchar('\n');
	}
	return 0;
}
